package org.csu.mypetstore.service;

import org.csu.mypetstore.common.CommonResponse;
import org.csu.mypetstore.domain.BO.ItemBO;
import org.csu.mypetstore.domain.PO.*;
import org.csu.mypetstore.domain.BO.AccountBO;

import java.util.List;

public interface CatalogService {
    //得到所有的类别
    public List<Category> getCategoryList();

    //得到具体一个类别
    public Category getCategory(String categoryId);

    //得到某个类别的所有产品
    public List<Product> getProductListByCategory(String categoryId);

    //得到具体一个产品
    public Product getProduct(String productId);

    //查询所有产品列表
    public List<Product> searchProductList(String keywordString);

    //得到某个具体的商品
    public ItemBO getItem(String itemId);

    //得到某个产品的所有商品
    public List<ItemBO> getItemListByProduct(String productId);

    //得到我购买的商品状态列表
    public List<MyItem> getMyItemList(Account account);

    //商品是否还有库存
    public boolean isItemInStock(String itemId);

    //添加类
//    public void addCategory(Category category, Product product);
//
//    public void insertProduct(Product product);
//
//    public void insertCategory(Category category);
//
//    public void deleteByProduct(Product product);
//
//    public void updateByProductAndCategory(Category category , Product product);
//
//    public List<Product> getAllProduct();
//
//    public void insertItem(Item item);
//
//    public void deleteItemByItemid(String itemid);
//
//    public void updateItem(Item item);
//
//    public List<Item> getItemList();
//
//    public List<Category> getAllCategory();

//    public CommonResponse<List<Category>> getCategoryListT();
}
